1. Field of the Invention
The present invention relates to an image forming apparatus which downloads and executes an external application, a method for controlling the image forming apparatus, and a storage medium.
2. Description of the Related Art
It is known that an execution environment (Java™) for an embedded system is configured on a real-time operating system (OS) of image forming apparatuses, an application capable of controlling the image forming apparatuses is externally downloaded, and the application is executed on the configured execution environment. By configuring this execution environment, users can add an application(s) to the image forming apparatuses.
Unlike personal computers (PC), a plurality of applications needs to coexist in a limited resource, in the execution environment on the image forming apparatus. As compared with the PC, the image forming apparatus has a smaller hardware resource, such as a central processing unit (CPU) disposed on-board and a memory. In consideration of usability of a printing process, it is necessary to impose a restriction on the amount of resource usage for an application (s), to ensure the real-time image processing. For example, applications for using a display unit of the image forming apparatus have a restriction. Specifically, the upper limit is given to the number of invoked applications. Japanese Patent Application Laid-Open No. 2009-283002 discusses an image forming apparatus having a restriction on the amount of resource usage for the applications. The amount of resource required by the applications is added together with the amount of resource used for the applications being activated. It is determined as to whether the total amount of resources has reached the preset upper limit. Based on the determined result, the image forming apparatus controls the activation process of the applications. Accordingly, such image forming apparatuses required for real-time image processing have a restriction on activation of applications, when there is no enough space in the limited resource (upper limit of memory, storage, user interface (UI) usage) for activating the applications.
Conventionally, it has been assumed that one application includes one application module. However, one application (hereinafter referred to as a composite application) may include a plurality of application modules. Conventionally, no consideration has been given to how this format of application is activated by the image forming apparatus with the restriction on the resource.